// pages/addOrder/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    show:false,
    productFlag: false, // 弹窗开关
    productList:[],
    fieldNames: {
      text: 'label',
      value: 'id'
    },
    minDate: new Date().getTime(),
    currentDate: new Date().getTime(),
    // 存储产品相关
    info:{
      productName: '',
      productTypeName: '',
      productId: '',
      productTypeId: '', 
      totalPrice:0,
      endTime:''
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    wx.$req({
      url: '/wms/itemType/treeselect',
    }).then(res => {
      this.setData({ 
        productList: res.data.data,
      })
    })
  },

  /* 存储产品级联选择相关 */
  // 关闭弹窗，同时清空内容
	onClose (e) {
		this.setData({ productFlag: false })
	},

	// 打开级联选择弹窗
	openProduct (e) {
    const index = e.currentTarget.dataset.index
    
		this.setData({  productFlag: true, index })
	},

	// 级联选择完毕 存储产品
	onFinish (e) {
		const result = e.detail.selectedOptions

		let productName = result[1].label,
		productTypeName = result[0].label,
		productId = result[1].id,
		productTypeId = result[0].id

    const info = this.data.info
   
      info.productName=productName
      info.productTypeName=productTypeName
      info.productId=productId
      info.productTypeId=productTypeId

      this.setData({
        info
      }, () => this.onClose())
  },

  // 打开日期选择
  clickDate(){
    this.setData({ show: true });
  },
  // 关闭日期选择
  onClosed(){
    this.setData({ show: false });
  },
  // 时间格式化yyyy-mm-dd 23:59:59
  formatDate(date) {
    date = new Date(date);
    let year=date.getFullYear()+"-"
    let month=(date.getMonth()<10?"0"+(date.getMonth() + 1):date.getMonth() + 1)+"-"
    let day=(date.getDate()<10?"0"+date.getDate():date.getDate())+" "
    const hour = (date.getHours()<10?"0"+date.getHours():date.getHours())+":"
  const minute = (date.getMinutes()<10?"0"+date.getMinutes():date.getMinutes())+":59"
    return year+month+day+hour+minute;
  },
  // 选择日期
  onConfirm(event) {
    let info=this.data.info
    info.endTime=this.formatDate(event.detail)
    this.setData({
      show: false,
      currentDate: event.detail,
      info
    });
  },

  // 输入框回调
	onChange(e) {
    const field = e.target.dataset.field
    
    const info = this.data.info
    info[field]=e.detail

    if(info.weight&&info.unitPrice){
        info.totalPrice=info.weight*info.unitPrice
    }
    this.setData({
      info
    })
  },
  // 图片处理
  imgHandle (e) {
    const list = e.detail
    //picture
    let info=this.data.info
    // info.picture=list.list[0].name
    let ss=[]
    list.list.forEach(element => {
      ss.push(element.name)
    });
    info.picture=ss.join(',')
    
    this.setData({
      attachment : JSON.stringify(list),
      info
    })
  },
// 提交
submit() {

  // 需要校验的字段
  const requireField = [
    { field: 'productTypeId', text: '请选择存储产品' },
    { field: 'weight', text: '请填写重量' },
    { field: 'endTime', text: '请填写有效期' },
  ]

  // 校验
  const obj = this.data.info

    for (let key in obj) {

      // 查找key 是否在必填项中
      const resIndex = requireField.findIndex(item => item.field === key)

      // 未填项提示
      if (!obj[key] && (resIndex > -1)) {
        return wx.showToast({
          title: `${requireField[resIndex].text}`,
          icon: 'none'
        })
        return
      }

      console.log(key)

      // 重量验证
      if (key === 'weight') {

        if (obj[key] == 0 || obj[key] > 999999) {
          return wx.showToast({
            title: `请输入合理的重量`,
            icon: 'none'
          })
        }
      }

  }


  // 校验通过
  // 新增采购订单
  wx.$req({
    url: '/wms/orderPurchase',
    method: 'post',
    data: JSON.stringify(this.data.info),
    loadingText: '提交中..'
  }).then(res => {

    wx.hideLoading()

    wx.showToast({
      title: '新增成功',
      icon: 'success'
    })

    wx.navigateBack()
  })

}
  
  
})